class ReturnExcpt(Exception):
	def __init__(self, value):
		self.value = value
	def getValue(self):
		return self.value
		
class VarNotFoundExcpt(Exception):
	def __init__(self, name):
		self.name = name
	def __str__(self):
		return "ERROR: Variable named " +  str(self.name) + " not found\n"
		
class IncorrectArgumentExcpt(Exception):
	def __init__(self,function, expected, found):
		self.function = function
		self.expected = expected
		self.found = found
	def __str__(self):		
		return "ERROR: ->" + str(self.function) + "<- Expected expression of type " + str(self.expected) + " found expression of type " +  str(self.found) + "\n"
		
class GeneralException(Exception):
	def __init__(self, text):
		self.text = text
	def __str__(self):
		return self.text
		
